package com.pe.pgn.clubpgn.dao;

import java.sql.SQLException;
import java.util.List;
import java.util.Map;

import com.pe.pgn.clubpgn.domain.beans.BNAlmacen;
import com.pe.pgn.clubpgn.domain.beans.BNArticulo;
import com.pe.pgn.clubpgn.domain.beans.BNDocumentoMovArticulo;

@SuppressWarnings("unchecked")
public interface TransferenciaDao {

	public List<BNDocumentoMovArticulo> obtenerListaTransferencias();

	public List<BNAlmacen> obtenerTodosAlmacenes();

	public List<BNDocumentoMovArticulo> busquedaListaTransferencias(
	String finDocumento, String inicioDocumento, String deDocumento);

	public BNDocumentoMovArticulo obtenerDocumentoTransferencia(Long id);

	public List<BNArticulo> obtenerListaArticulosWizard
	(String coAlmacenOrigen, String coAlmacenDestino, 
	 String coCatalogoOrigen, String coCatalogoDestino);

	public List<BNArticulo> buscarListaArticulosWizard(String coCategoria,
		String deArticulo, String coCodigoArticulo, String stManejaStock,
		String stManejaSerie, String coAlmacenOrigen,
		String coAlmacenDestino, String coCatalogoOrigen,
		String coCatalogoDestino);

	public Map guardarDocumentoTransferencia(
		BNDocumentoMovArticulo bntransf) throws SQLException;

	public BNArticulo obtenerDatosArticuloPorCodigo(
		String coCodigoArticulo, String coAlmacenOrigen, 
		String coCatalogoOrigen);

	public BNAlmacen obtenerDatosAlmacenPorCodigo(String coAlmacen);

	public List<BNArticulo> obtenerPremiosPorArticulo(String coAlmacenOrigen,
	String coCatalogoOrigen, String coCatalogoDestino, String coCodigoArticulo);

	public List<BNArticulo> obtenerPremiosPorArticuloNoInstantVale(
			String coAlmacenOrigen, String coCatalogoOrigen,
			String coCatalogoDestino, String coCodigoArticulo);
}
